2
The Sin Leandro Cowputer Club Tor Atari
Hicroco**iters is an wd^enaent, norr-pref it
organization and users graf with no
connection to Atari Incorpcrjted. PWHwrship
Tees are (20 per year, fcebership includes
access to the counter library, ascription
to the Journal, and classes tdwr held.
Peraissian to reprint articles in any
ncn-coaaercial piiilicaticr ts permitted
without written authorization provided
proper credit is given to the San Leandro
Computer Clut) and the author, tyiniois
expressed are those oT the author and do not
necessarily present the views oT SUX.
EDITOR Jerry TelTer 233-9156
ASSISTANT EDITOR hart Blue 483-6166
ART DIRECTOR Jiw ftood 534-2197
CALENDAR UFDMTlOi Tow Tisby 352-4482
JOURNAL CtPVlIC Nark Blue 483-6166
JOURNAL ADVERTISER Ron Seywour 537-3183
IN THIS ISSUE: ao loafer cowed by the M8-happy ST owner*, 8-bit
A tar laws art beginning to see a euwbtr of lapressiva aewory
upgrade*. Thera are sowe tbiafs to watch out for, but a half-atf
Wit is feasible. SLCC and tba SLCC JOURNAL bold ourielm
blawtlest if you fry your computer doing any of the nifty upgrades
ia this issue.
Also, we have the debut of our ‘spy in the sky* col nan on the
Dlethora of ST ruwors. There is a reader survey that we hope you
will get to us so •« can eeet your needs in the JOURNAL. Our
thanks to Chris Stewart for the source photo used in producing this
•onth’s cover, Enjoy!
CONTENTS
3 EDITORIAL
4 DANGERS OF MEMORY EXPANSION
by Bill Wilkinson
JOURNAL ADVEFTISD6 RATES
FULL PAS: (40.00 QUARTER PAGE:
(10.00
HALF PAGE: (20.00
BUSINESS CARD:
( 5.00
PRESIDENT
B db Barton
352-6118
VICE-PRESIDENT
Nike Saw ley
482-5061
TREASLrEft
Lois tom
482-2222
SECRETARY
Jib toran
523-4231
TAPE LIBRARIAN
Fiwik Kind
638-6032
ASSY LANGUAGE SI6
Frank Daniel
471-6133
BASIC LAbBJAGE SI6
Guy frrhrane
502-5561
BEBIWFRS SIS
Richard Stiehl
835-9857
HISCELDWDUS SIS
Phil Mitchell
351-2208
ATR8000 SIB
Mike Salley
482-5061
L060 SIS
Lois Hansen
482-2222
ACTIDi! SIS
JU Warren
7B2-7090
ST SIB
Bab Barton
352-81 IB
C SIS
Dave Becfceeeytr
658-5310
BBS SIB
Hike Saw ley
482-5061
PROGRAM CHAIRMAN
Richard Scott
867-8357
PRINT LIBRARIAN
Emar fadrade
484-4484
DISK LIBRARIAN
Jaoes Ptran
523-4231
ST SCFTWRE CHAIRMAN:
Hike Cuvy
7H2-9148
| 6 BIT SOFTWE CHAIRJO:
Hark Pwrwz
792-0396
Cliff Schenk txuzen'537 -5245
kET SYSTEM BKi 1415) 352-H2B
Official 9-BIT BBS of the SLCC
SYSLP: Nike Swley
TIC VILLAS BKi 1415) 783-5545
Official 16-BIT HE of the SLCC
SY9Pl Nike Curry
5 THE 576K 130XE
by Scott Potorsan
7 TESTING EXTENDED MEMORY
by Larry Cop*nhav*r
S 8000S for Us* 1200 XL
fra* RAH via HcDonnal 1 -DouqJ as
8 -ACTION ! REVIEW
by Nika S*wl*y, SLCC
IO SLCC JOURNAL SURVEY
12 DISKS OF THE MONTH
13 THE BACK FENCE
by Quinn
OOPS!
Law! Hiik'l article on -'Tbw. M Coluwn
Atari* by Bike lellawtw, credited to
Ike . Key Syitew, * com to SUX frow
Biablo ACE. (MCE). JW- regret the
oaisiion of credit to the fiat folki at
MCE.
CDIR E gtMBC MUSES 6 KNBLETTEB ETD4MEE
SM LEAHSD COWTBt GLIB
P. EL BOX 15E
SAN LEANKD, CA N377-01S
EirDi m ti roi r Ri ; m fAi l
Thn imr group w > n t is a powerful fore* fad mainly by on* nource —
Um sharing of information.
Thor* aro many naans used to achiovs this goal in tho SLCC. Monthly nain
a—tingi, Sits, thn Kay Systsn and Village BBSs, nunarous phone calls between
~ t i -rit 1 - i ntarosts/probl ans , and the SLCC JOURNAL.
Curing tha oonths ahead it will bo our goal toi
•maintain tha standard of mu eel lance sat by Ron Seyoour and Tan Bonnett
• during thnir years of producing this JOURNAL,
achieve timely dal ivory of tha JOURNAL to tha nen b ership,
radnsigre tha JOURNAL to aodern magazine appearance,
•aa&ntain an. overall balance in our coverage of all Atari systens,
ropriret tha vary bast of thosa articlas published by other club
newsletters,
and most importantly, to iaprove the ratio of SLCC-producad material
published in the JOURNAL.
This last i tea in tha list of goals is creciai to tha continued
iaprove sent of SLCC’s standing anang Atari user groups. SLCC now has over 400
active members, making it one of the largest Atari user groups in the world.
Oar SJ SJS alone if larger than sen y clubs' total membership. This offers a
potential wall spring of new Atari knowledge. He wish to tap that wellspring
-at all-levels.
Thorn is a teaptation anang new nenbers to sit quietly at the nonthly
nesting, completely certain that they are the only parsons in tha raoa who arm
not rip-roaring -heavy duty hackers able to create full-blown major progress
(bog -free, of course) between dessert and the Cosby show. This reticence is
-well understood by us, since we have shared it in our tine. It has, however,
no basis in fact.
- The 4 rasbent novice nay not have learned the "correct* way to achieve a
■programming goal, and thus nay in innocence contrive a solution that aatches
•or ■ outperforms thn textbook standard. This information should be shared.
there is* not one member of the SLCC that doesn't have something of value
to- contribute to the JOURNAL , mod thereby to the club. He will publish
listings nf original programs, fragments of code which do something
interesting or amusing, reviews of software or hardware, explorations of
undocunented/poorly documented program capabilities, graphics screens,
guest ions about Atari computing and hopefully their answers, and just about
anything- else that interests the members. He will accept member contributions
via U*m club’s BBSs, on-diskette, or by phone if necessary) but »e want your
contributions- . He will also assume the task of helping to polish neaber
s ubmission* into publishable articles. You don't have to baa hacker
Hemi ngwa y, ■, you Orel y-oeed some ideas to share.
- He do Mi wish to edit a "Reader’s Digest of Atari Computing" - we want
-to produce thn- BLCC JOURNAL, end with your help sake it tha prenior source
amo n g Atari u ner.. group -publications.
Jerry Telfer
(13GXE)
Jin Hood
(BOO It 5205T)
hark Blua
( 1040ST)
PftNQERa QF NQN-9TAND ftRD MEMORY
EXPANSIONS
by B114" Wilb&rvaant-, QSS-
Thi s technical note is being written because so eany of the eeeory expansion s eh ties ! set being touted
in HOT compatible with a standard 130XE. if you i *pl eient the senary expansion per aost of these scheees,
you will be eissing one ieportant feature of the 130IE: the ability to direct ANTIC to do its DM to either
sain aeaory or the requested bank of aeaory.
In a standard 130IE, clearing bit 5 to zero requests ANTIC to folios the bank snitching; setting bit 5
to a one tells it to reaain in aain aeaory, no aatter ahat aeaory bank aas requested.
This is an important feature! Hark Rose (also of OSS) and 1 sill take credit far being instrumental in the
creation of this bit.
Nhen Atari asked us to da DOS 2.5 and its RaeDisk, their prototype hardeare had ANTIC following bit 4
along eith the CPU. The east obvious problee eith this is that you can’t use the extra banks for CPU
purooses (e.g., RaeDisk) ehen ANTIC is doing its DM in the aeaory beteeen 14000 and I7FFF. The problee uis
especially acute eith AtariNriter (the 1SK cartridge version), since its display aeaory is ALHAYS in this
range.
Actually, Nark and 1 found that if you are ONLY using the bank select seeory for a RaiDisk, this is not
an onerous restriction. It siaply leans that you could only do pseudo-sector transfers during vertical
blank. And, in fact, DOS 2.5 stilt has a flag in it which you cm POKE ■hich Kill tell it to only use
extended aeaory during deferred vertical blank,
Noa, there aas another hardaare solution, which h Motioned to Atari: siaply never alloa ANTIC to use
extended aeaory. He discussed the tao options with Atari, and bath tney and we decided ae felt strongly
that the capability of bank selecting ANTIC’S aeaory aas iaoortant. Thus the use of that Pit.
So, if your 900IL hardaare and aorks aith the AtariNriter cartridge, then you oDviously adooted that
second hardaare solution: don’t let ANTIC use extended aeaory. That is not a really terriole decision
(especially if it is econoiicaily activated), but it does aean that it is possiole that soae future 130JE
software Kill not run on your sodified aachine. (Actually, 1 already have at least one piece of softaare,
written in ACTION 1 , which depends on the l30XE’s aethod. But it’s only an ultra-fast picture switching
deiOf so it’s no big deal.)
There is a aod to both the 1301E and SOOXL which aaintams the 130IE/ANTIC bank select capability. It
was designed by Charles Andrews of Eugene, Oregon, and he showed a 320KE using this aod at CES in January
(in Atari’s booth, as a courtesy to hn by Atari— though it does appear to be an no licit endorseient of his
scheie). I believe his aethod uses an entirely separate port for controlling the beyond-l30I£ extensions
(in the IDixi range, aaybe?). However, I devised a aethod of doing the saae thing using only PortB. The
scheae is outlined in the fallowing paragraph.
A *LE6Al 320IE:
This aod depends on the fact that the diagnostic RON area is only used at powerup or by the self-test
routines. At these tiaes, both ANTIC and the CPU are using only aain aeaory, so bits 4 and 5 of 4D3Q1 are
both set to one. Thus we change the 'enable* of the diagnostics froa the logic equation
diag_enaile - not_bit7 '■
to
diag_enable = not.bit? and bit4 and bit5.
Then the enable for the extended RAN hecoees RAN_enable - (not_bit4 or not_bit5) and we can now use
bits & and 7 for bank sclectioa in the saee aanner that other scheaes use bits 6 and 5. Reason this works:
even if Atari ever changes the sal f-di agnostics so that they check the extended RAH, they can't put that
particular code in the RON which overlays P3Q00-I57FF, because that’s right in the eiddle of the RAN area
they need to check!
5
; 576K Mod
luscle for your 130XE
by SCOTT PETERSON
Copyright (C) 1986
here we go again, this tiee 1 recommend
you have some electronics experience if you
wish to perform the upgrade. Some of the
work is duplicated fro* the 320K upgrade so
320XE owners will not have as each work to
do. One otner point, Jimn in the 576K wode
you MUST use some sort of BASIC cart, as you
lose the internal BASIC, this is only in the
576K node, in the 130XE mode internal BASIC
will function normally.
TOOLS fCEDED; To perfore this upgrade
you need the following; Low wattage fine tip
»n dering iron. Vacuum de-soldering tool
(like Radio Shack PNS64-2098) . Some 30-gauge
wi-e (Radio Shack PN427B-501). *2 Phillips
h*?ad screwdriver. Heat-shrink tubing, 1/B
in. diameter Also a pair of small
needle-nose pliers and a small flat tip
screwdriver are handy.
PARTS NEEDED:
. i 74LS15B
Z2-Z17 41256 (150ns.)
ZtB 74LS138
" .9 7432
fii-R2 33 Ohm 1/4 watt resistor.
SI Micro— mini DPDT switch (like Radio
S h ack PN4275-626)
Remove the 130XE case and metal RF
shield to get down to the mother board,
(320XE users go to step two) .
STEP Now de-solder and remove the
eight RAM chips U26 thru U33 (MT4264). They
are the row closest to the TV RF module (do
NOT use solder wick, the circuit board of
the 130XE has very weak runs and they will
pull loose if not completely de-soldered) .
Replace these with the 16 pin low profile
sockets. Take a piece of wire approximately
12 in. long and run a jumper from pin 1 of
j each socket to the next. When you are done,
the wire should be attached to pin 1 of each
of the new sockets and you should have about
6 inchs left over. Da this on the rear of
the motherboard and then snake the wire thru
the large hole near the RAM chips.
Next, desolder and r emove U23(C014795) ,
and replace it with a 40 pin socket. Bend up
pins 15 and 16 on U23 and insert it in the
socket you just installed. Take ZK74LS158)
and break off pins 5,6,7,9,10,11,12,13,14.
Bend up the other pins on it except 5 and
I
16. Put this “piggy back" on top D
U20 ( HD 1 4050) and solder pins B and 16 of Z;
to pins 8 and 16 on U20. Now take a short
jumper from pin 15 on Z1 to pin 8 of Z1 -
Take a piece of wire about 4 in. lone
solder one end to pin 30 on the chip market
■C014B05" on the motherboard, and the other
end to pin 1 on Zl.
Next solder a wire to pin 15 (one of
the two you bent out) of U23 and connect the
other end to pin 2 on Zl. Solder a wire to
pin 16 on U23 and connect the other end to
pin 3 on Zl. Take R1 (33 Ohm) and trim the
leads to about 1/4 in. Take the wire you
connected to pin 1 of the RAM chip sockets
and solder it to one end of Rl, solder the
other end of Rl to pin 4 on Zl.
STEP TWO: Slide the motherboard back
into the bottom half of the plastic case (do
not use the RF shield, you must be able to
get at the motherboard), and attach the
keyboard. It will rest above the motherboard
without touching it. Test all 41256 RAM
chips by putting one set of 6 in the sockets
and using the handlers (or DOS's), and then
the next. After testing all RAM chips remove
them all from the sockets, and take 8 of j
them and cut about half of pin 15 off of
each one. Only the “fat" part of pin 15
should be left. After doing this you have tp~
"piggy back" the 8 256K RAM chips with t) A,
short pin 15 ‘s on top of the other 8 256K
RAM chips. Now solder all the pins together
on the stacked RAM chips except for pin 15.
It should not be touching the other pin 15.
Make sure you have them going pin 1 to 1,
pin 2 to 2, etc. When you get done you will
have 8 sets of Piggy backed 256K RAM chips.
Now take a piece of wire about 16 in, long
and run a jumper from pin 15 to the next one j
on all the top 256k DRAM's, leaving about 1
inch between each RAM chip.
Put these stacked RAM chips into the B
sockets you installed earlier. Take
Z1B(74LS138) and bend up all the pins except
8 and 16, cut the pins you bent up in half
so only the fat part is left, and solder
pins 6 and 16 to pins 8 and 16 of the other
74LS138 right below the U23(C014795) . Take
Z19 add bend up all pans except 7 and 14,
once again cut all the pins you bent up in
half and solder pins 7 and 14 to pins 7 and
14 of the 74LS08 right below U23. Take the
wire you jumpered earlier to pin 15 of Z10
thru Z17 < the i^per row of 256K RAM chips)
and go out 2 in. and cut the wire, n'
install R2(33 Ohm) between this cut. Place -
piece of heat tfirink tubing over Rl end make
sure no wire is exposed and boat it with a j
lighter . Take the other end of this wire and _ '
6
connect it to Z IB pin 14. Find the two 33
Ohm resistors just to the right of U28 (one
nf the RAM chips you socketed). The upper
ne of the two is Rill, desolder the right
ieg of it end bend it up. Teke e piece of
Mii'e end solder it to the lend where you
just reeoved the leg of Rill. Connect the
ot’ier end to Z1B pin 4. Trie beck the leg of
Rill end solder e wire to it, slip a piece
of heet shrink tube over it end heat it up.
Now connect the other end to Z18 pin
12. Take a short wire and run a jueper froa
pins 1 end 16 of Z1B. Take another short
wire and connect a jueper froa pins 3, 5,
and B of Z18. Now connect a wire froa Z18
pin 2 to Z19 pin 3. Find the wire you
installed from U23 pin 15 to Z1 (74LS158)
pin 2 end desolder it froa U23. Take it and
reconnect it to Z19 pin 11. Ok, now pry U23
(C014795) back out of the socket and bend up
pin 11, plug it back in. Run a juaper froa
pins 1 and 4 of Z19, anti another juaper froa
pins 10 and 13 of Z19. Connect a wire froa
U23 pin 11 to Z19 pin 1, and froa U23 pin 15
to Z19 pin 13. Now connect a wire froa Z19
pin 8 to the right side of the 3.3* Ohm
resistor aarked R206 (located at the bottom
right of U23). Connect a wire to Z19 pin 6
md run it to pin 16 of U3 (D061618). Now
comes the tricky part, drill a small hole
(1/4 in. or so, depending or the switch
size) at the rear right on the back of your
130XE. Take the small DPDT switch (SI) and
install it in the hole. Now connect it as
shown (make sure the switch DOESN'T have a
center off position);
SI (rear)
U23 U23
pin 1
Z19
pins 5+9
Note: where the wires cross in the
aiddle, they are NOT connected. Make the
connection froa the switch to 023 on the
rear of the motherboard . Nell that's
it'.thank God). Now re-as se able the computer,
being careful not to break any wiring going
to the switch. You should now have in one
'twitch position a 1001 compatible 130XE, and
in the other you have e 576K 130XE that does
not have Antic memory enhance eode and also
cannot use internal BASIC. In the 130XE mod*
you gain 64* as bit 6 of the PIA can etiil
pin 20
be used. The following page list of the bit
table and numbers to be used in location
54017 (PORTS) . Once again, if you need, help
call the Peanut Gallery BBS (4061-384-3906.
If you want a sailer of all the upgrades I
have, as well as a disk with handlers,
source codes, etc. send a aoney order
(please, no checks) for *10.00 to; Scott
Peterson P.Q. Box 33 Ft.Ord, CA. 93941-0033.
This includes the BOO 288* upgrade by
D.G.Byrd, the 800XL/256K (C.Burchholz) , the
130XE/320k upgrade and anything else I
finish. Good luck, and have fun. Memory
Control Register 54017 (D301)
130XE in 576* eode.
Bit 7 6 5 4 3 2 1 0
DabCcdeR
D=0 enable diag. ROM
R-l enable OS ROM
C=0 enable extended memory
abcde- m e mory control bits.
Bank* Control* (dec) Hex
Bank
0 -
>129
81
Bank
1 -
>131
83
Bank
2 -
>133
85
Bank
3 -
>135
B7
Bank
4 -
>137
89
Bank
5 -
>139
SB
Bank
6 -
>141
8D
Bank
7 -
>143
BF
Bank
B -
>161
At
Bank
9 -
>163
A3
Bank
10
>165
A5
Bank
11
>167
A7
Bank
12
>169
A9
Bank
13
>171
AB
Bank
14
>173
AD
Bank
15
>175
AF
Bank
16
>!93
Cl
Bank
17
>195
C3
Bank
18
>197
C5
Bank
19
>199
C7
Bank
20
>201
C9
Bank
21
>203
CB
Bank
22
—>205
CD
Bank
23
>207
CF
Bank
24
>225
El
Bank
25
>227
E3
Bank
26
>229
E5
Bank
27
>231
E7
Bank
28
>233
E9
Bank
29
>235
EB
Bank
30
>237
ED
Bank
31
>239
EF
7
Testing Extended Memory
by Larry Copenhaver
With the large number of 130XE computers exit there, and the increasing
number of expanded BOO XL and 130XE computers, here’s a "down-and-di rty“
(written in BASIC) memory test.
It will only check the EXTENDED RAM (the normal RAM can be checked with
the built-in diagnostics).
The method is very slow and simple. He just set all the bits to off
(POKE it with zero). Then check to see that they are in fact all off. He
then turn on al 1 bits (POKE it with 255) and check to see if they are all on.
If any discrepancy is found we report that error and end the program.
Of course the extra RAM in these machines is accessed by windows of 16K each
and we must make visible to the computer these windows (or banks) as they are
needed by PDKEing the appropriate value in PORTB (54017) .
This little program was written on the night before the printing of this
newsletter (KC-ACE) on the “prototype 11 320K 130XE. And used to check all 16
banks of 16K each on this computer (it took about 3 hours to run).
This was really just an interim program to help anyone that thinks they
might have a RAM problem. Hatch for next month’s newsletter. I will have an
assembly language version that will be much faster.
(reprinted (roa Feb '86 KC-ACE newletter, Kansas)
16 REH EXTENDED RAN TEST
26 REH
36 BEK BY LARRY COPENHAVER
46 REM eeeeSMHHHHHHHHHHHW
SI COSUB 1166
54 POKE 82i 3: GRAPHICS 6
M PRINT "WARNING” THIS KILL TAKE A LONG
TIW"
65 PRINT "(XT IS WITTEN IN BASIC, YOU K
NOW"
76 PRINT ; PRINT :FGR HAXT=1 TO 968:REXT
KBIT
71 P0RTB=S4Bi7:B6NKSTART=i6364 ; BANKEN0=3
2767 i PBNrPEEJf (PORTB)
74 REN ixxMKM i HnwiW M mm
75 REN SEE THAT 4 BANKS ARE THERE
76 REN HW I imN li mMH
77 RE5T0RE LINE
S6 FOR X=1 TO BANKCNT
90 READ BANXVALUE
. Ill POKE PORTB, BAMKVALUE
116 POKE 6ANKSTART, X :NEXT X
121 RESTORE LINE
146 FOR X=1 TO BNKCRT
,151 READ BANKV6LUE
161 POKE PORTB, BANKVALUE
176 CHECK=PEEK (BONK START)
ill IF CHECK=X THEN PRINT "BANK ";X;" I
THERE! !":G0T0 266
196 PRINT "ERROR IN BANK "jXiPOKE PORTB.
PMiEID
2*6 NEXT X
216 POKE PORTB, PtN
226 REN niHHHmmi
251 REN IBM TORN IFF ILL 6ZTS
246 REH uimmimm
254 RESTORE LIRE
2*4 FM 1=1 Tl BMC NT
IT* PRINT "TMNXM OFF ALL BITS IN MM
";x
288 READ BANKVALUE
289 REN FILL IT KITH ZEROS
296 POKE PORTB, 8ANKUALUE
318 REM FILL IT KITH ZEROS
311 FOR Y=BANKSTART TO BARKEND
326 POKE Y,S
331 REXT Y;NEHT X
358 REN i HMXxxxiiixxmn i
366 REN BOH CHECK ALL BITS
378 REN Hmmninuii
386 RESTORE LINE
398 FOR X=1 TO BNKCNT
461 PRINT "CHECKING ALL BITS IN BANK
418 READ BANKVALUE
428 POKE PORTB, BANK VALUE
436 REN CHECK FOR ZEROS
448 FOR Y=6ANKSTART TO BARKEND
458 A=PEEK(Y):IF A=6 THEN GOTO 486
471 PRINT "ERROR IN BANK "jXiPOKE PORTB,
PM: END
481 NEXT Y
491 PRINT "NO ERRORS SO FAR IN BANK »;X
581 NEXT X
518 POKE PORTB, PBN
528 REH im»mnun
53i REN I0H TURN ON ALL BITS
548 REN nnumiim
551 RESTORE LINE
566 FOR X=1 TO BNKCNT
571 PRINT "TURNING 6N ALL BITS IN BAM -
il
566 BEAD BAM VALUE
5 SB REN FXU IT tffTI BKS
*M POKE PORTB, BAMVALUE
611 FM Y-BAMSTAKT T» BAM CM
621 POKE V,255
636 BUT Y; NUT K
666 REN ROW CHECK ALL BITS
67B REN »lH HHHUU> i mui»
688 RESTORE LINE
696 FOR X=1 TO MKCNT
718 PRINT “CHECKING ALL BITS IN BANKT X
718 READ VANKVALUE 4^
726 POKE PORTB, BANKVALUE
736 REH CHECK FOR ORES
746 FOR Y=BANKSTART TO BANKENO
756 A=PEEX(Y>
766 IF 6=255 THEN GOTO 4B8
771 PRINT "ERROR IN BONK “JK:PQKE PORTB,
PBN: END
78B NEXT Y
791 PRINT "NO ERRORS SO FAR IN BANK "iX:
NEXT X
BIB POKE PORTB, PEN
B2B PRUT : PRINT "RLL PASSED M ! 11 : END
96B DATA 129,133,137,141
916 DATA 129,133,137,141,161,165,169,173
,193,197,261,265,225,229,233,237
926 DATA 129,133,137,141,193,197,211,285
,225,229,233,237
938 DATA 161, 165, 169, 173, 193,197, 2D1.265
,225,229,233,237
1*66 GRAPHICS 6
1616 ? :? :? "WICH CO MUTER IS THIS?”
1621 POKE 12,6:?
1030 ? *1. 138X6(51 ANDARD) "
1046 ? "2. 136RE (3260"
1651 ? -3. BOBILUCiCU VERSION)"
1060 • *4 . 606KLUCACE VERSION)"
1671 TUP 1606: INPUT ANSWER
IBM M AISM5R GOTO 11M,1200,13M,L
1090 G6TI 1000
UN LnC=900:IKCIT=4:irrMfl
1200 LHE=910:IWCST=16:KTMN
1IM LINE =926 : BNKCNT =12 : RETURN
14M LZK=9I6:BMCfT=12 :KTIM
8
Source* RAH, S*tM few 1985
Reprinted fro* ATARI SIR, M» RCC
12QO XL to 800 06 -
Bu— d out with th* hassles built ihto'
the. 1200 XL 037' Kant bum your tr^islator
disks, but can't shell out the *80 for- BOSS
XL? ‘ Follow these siaple instructions to
replace the nasty 1200 XL OS with the nice
old 400/800 OS for *16.50 or less!
1. Pull the Rev. B Roes out of the
eatherboard of a 400 or f roe the 10K ROM of
an BOO. Hake sure the chips function
properly.
'2. If you can't find a set of ROMs,
order thee f roe Aeercian TV 15338 Inverness
St., San Leandro, CA 94579, 415-352-3787.
3. At this point you should have three
chips, marked C012399B, C012499B, and
C014599B.
4. Place the C014599B piggyback on the
C012499B with the notched ends facing the
saee direction. Solder pin 1 to pin 1, pin
2 to pin 2, etc., for all 24 pins.
5. Open the 1200 XL using a small
Phillips-head driver on the screws and a
needlenose pliers to pull the pap rivets
holding the ' RF shield together. This step
is completely nondestructive. There is
nothing to cut, unsolder, or eutilate.
6. Locate the two 24-pin ROM chips on
the 1200 XL board near the cartridge slot.
Notice they are narked U12 and U13 in white
letters on the board. Also pay attention to
which way the notched ends of the chips are
facing.
7. Renove these ROM chips and insert
the chip narked C012399B into U12 and the
piggybacked chips into U13.
8. Test the board before putting the
1200 back together.
You now have an 800 with a 1200
keyboard. This nodi ficat ion was created by
Brent Borghese of A.C.E. of Columbus Ohio.
Mike Sawley
ACTION! LANGUAGE REVIEW • '
The Action! Language by Optinized
Systems Software is a nan-portable language
that generates very fast object code- for the
Atari 900 and 800XL howe coeputers. It is
the fastest high level language available
for these machines in both compilation and
execution speed. It runs 100 tinms faster
than Atari BASIC and executes more than
twice as fast as Kyan Pascal.
Compilation timm in Action! compared to
Kyan Pascal is many times faster for several
reasons. The Pascal compiler is large and
requires a relatively long load time wherein
Action! is already present on a ROM
cartridge. Pascal makes type checks on 99X
of the variable names and type declarations
while Action 1 guarantees type compatibility
among its standard predefined types; no
further type checking is done. Kyan Pascal
uses a two pass compiler and Action* Home i*
in one. The design of the Action! system
allows both coa*»ilation from memory to
memory, memory to disk, and disk to memory
while Kyan Pascal compiles from disk to disk
only because of the large size of the
compiler. Action! even allows two different
source codes (programs or subroutines) to
reside in memory and can compile and run
either from the monitor without building
entire programs around them.
...continumd an nest page
9
Many o-f the features of the proeinent
high level languages are found in Action!
such as block structure, parameter passing,
IF-ThEN-ELSE nesting, record declaration,
and all of the high level loop constructs
(no 6GT0 available!). Benerally, if the
feature contributed to the concept of
structured prograeeing while not slowing the
execution of the abject code (could be
iepl e e e n ted with a einieua of output code) -
the feature was put in. Other features oust
be defined if they are required. It has
been said that the construction of the
Action! Language was explicitly designed to
optimise 6502 instruction set and that is
the reason for its fast execution speed.
And the object code generated by Action!
reads like that of a 6502 asseably language
prograneer (without the coaeents, of
course! ) .
One th ing that I found very
discouraging was that recursion does not
return popped values. Parameters are
overwritten if called by the same
subroutine. This is because a block of
memory is used explicitly for variables and
the names of the callers. The one pass
compilation is another factor in this
limitation. Recursion can be simulated, so
1 am told, and 1 am looking for a
demonstration of this useful technique.
Action! uses only the 256 byte hardware
stack provided for the 6502 microprocessor
to save return addresses from procedure and
function calls during the run. While this
is a factor in reducing the speed of
execution, some of the utility of the
language has been compromised.
The standard types supported are: BYTE
(9-bit), CARD (16-bit used as addresses or
large positive values), I NT (-32768 -
32767), CHAR (256 characters in the set),
and POINTER (for passing by reference etc.).
Any coercions desired can be made between
•ny of these standard types even though the
lengths vary between 8 and 16 bits. FLOAT
is an option which is not included in the
basic language but can be added at extra
cost. This means that division truncates
the decimal part. ARRAY is a standard
structure and always numbers from 0 to n-1.
It can contain any of the standard types. A
special TYPE declaration can be made to
declare records of standard types. : But
arrays of ‘records must be implemented using
A template which is moved over a larger
mrray calculated in advance by eul tip lying
the record size (in bytes) times the number
of records. In this case, aliasing is a
necessary evil. Dynaeic Array length
declaration eay not be done, but array
bounds are not checked during execution. In
f*ct, array length need not be specified
all. However, the user oust insure tt
data does not collide with the program *.
this option is used.
Assigneent in the type declaration is
allowed. H o w ever, if the value is not
enclosed in square brackets, the assigneent
is assumed to be a binding of an address to
the variable naee itself. Also, arrays may
be bound to any feasible starting address by
the programmer by the same technique. Since
overflow is not checked, any values
assigneent during compilation or execution
will be eade eodulo 256 or 65536 depending
on the type of the variable being assigned
to.
Overloading of operators is generally
not done, but Action! has some other strange
peculiarities. There are some operations
which have more than one syebol to mean the
same thing! “Not equal" can be represented
by either <> or t. “and" can be either AND
or It. “Or" either OR or X. "Exclusive-or"
either XOR or !. And BYTE is a CHAR is a
BYTE? All of this interchangeability is
logical but strange when the size of the
language was originally lieited because ryf
speed considerations.
Procedures and functions that return
values are an important part of the
language. Their fore is somewhat similar to
Pascal except that nesting of them is not
allowed. Any subroutine call ing another
oust call above due to the one pass
restriction. The reserved word RETURN is
used at the bottom of procedures and
functions to indicate their termination. A
missing RETURN is not a compiler error. The
BE5IN, END, and semicolon are not used as
delimiters. Instead, an EOLN separates each
line logically. The semicolon is used as in
assembly language to indicate that a comm e nt
follows.
Eight parameters maximum may be passed
to a subroutine. This is a violation of the
“Zero-One-Infinity Rule," but microcomputers
do have limitations. Also, there is a
restriction to not use channel 7 for
input-output as that is reserved for the
keyboard only by the Action! system.
Over all, the language is designed for
the use of experienced prograemers who need
the the flexibility to manipulate t*
operating system and the ability to wci
fast, ree d Able code. Then, the full
capability of real-time graphics on the
Atari B-bit machine can be realized.
r
12
S-bM
flr« jiHi Waafe
tftrt :1WEU
Site t*
Disk of the Month
June 86 DOK *1
DUO? »?• Well,, not entirely.
Contrary ta ptyulv Miff, Disk
Construct ion Set 1 ' wi II nn
Atari-' Biftnnarf All-purpose- ■'
Instruction Cade»* v < BASIC to you.jnd ■>>!
Hut dons this, ail aeaa to y*& TMSi -
1 DIM SlS(60> l S2*(601,Ct*(601 1 C2t(60t l Tr<60
),H*(31 '
20 GCSU8 370
276 GRAPHICS OtPOKE 710,0
Type. in the above lines^aftdt r tha
program has loaded and save it baclr to'
disk. It Hilt non run tilth normal BASIC.
Mo« that we foi led that' sorry
for a Coaaunist tika-ws r and Mark
has just figured out taut, wa hava
talking about, lat*s gat doun to business.
Spanning- thm globs. t» bring you tha
itast in pt^lic donain Hftiuri, tha
Dynamic Duo presents^ tha ,,July 1986
disk-of-the-eonth. ; Ah- usual this disk is
nothing short of spactacular. A veritable
smorgasbord of quality software. ,, But alas,
for security reasons, wa can only aantitpi a
fas of these progri
BINARY FILE TITLER -
written by tha. inf
This program
Keith Ledbetter,
and it dll
author of "830 Express'
display a standard AT ASCII text file bdfc
Tinning a binary file.
PAINTSHOP REFERENCE CARO MAKER - This
prograa will' taka a standard , PRIMT9M0P~
picture disk and print out the ptttura* in
an easy~t o-reatf ref df"snce card format.
EASY-CARO DATABASE - A* original by. tha
Dynamic Duo. This database is a simulation
of tha popular ROLODEX file system. .
and aany others, including a
for aitandad-RAH 130 XE* and «
graphics and sound dsaos. .
Note* tha above charactws described in the
sbovn r article are purely fictional.. - (biy
sinUaritiaa be n*y pap wai, glivst or dead,
pa*» pr i s ed „a».i ♦*&*■*- i# ■ purely j
cainei dental. ~ TWf newel at tae gt» saM:
doatruct in five s e c onds.
Zooaracks Dmo Disk
(8606A)
BETST1.ZRX
GETST2. ZRX
GETST3. ZRX
MACAUTD. ZRX
QAPPLICT. ZRX
QAPT. ZRX
QOECK. ZRX
QDEMO. ZRX
QINVNTRY, ZRX
qletters.zrx
QNMES. ZRX
QNOTES. ZRX
QPLETTER. ZRX
QPROJEC.ZRX
QRECIPE. ZRX
QSALES. ZRX -
QSCHOOL.ZRX
QTICKLER, ZRX
ZR. DAT
ZR.HLP
ZRDEMO. IMG
ZRDEM0.PR6! '
ZRDEM012.386X
June 86 DOM *2
- — Micro Eaacs 3*6 Source Code — (06068)
IKBDI.DOC
IKBD2.DOC
LIST.DOC
LIST. TTP!
MEMTEST.IIE
MODEM7.DOC
M0DEM7.T0S!
MOUSE. PR6!
PICSWITC. PRG
PSNITCH.DOC
SPOOL 33K.PRG
A:\STMAKE:
CTYPE.H
MAKE. C
MAKE. DOC
MAKE. PRG!
MAKFILE
MAKFILE2
MSTRIN6.C
MSTRING.H
•
A:\UEMACS.36:
BASIC. C
BUFFER. C
C.BAT!'
CINFQ.C
DEF.H
DISPLAY. C
ECHO.C
EXTEND. C
FILE.C
FILEIO.C
GETN.S
KBD.C ’
LINE. C
MAIN. C
RANDOM. C
REGION. C
SEARCH. C
SPAWN. C
SYMBOL. C
SYSDEF.H
TTY.C
TTYDEF.H
TTYIO.C
TTYKBD.L
VERSION. C
WINDOW. C
WORD. C
XEMACS.BAT!
XEMACS. INP
June 86 DOM »3
_ ponCC Hiei/
— / OjtnjLT’ \
— rKUrr U15K
V OuvOL /
CART PORT. INF
HELPER. PR6!
SPOOL. ACC
A:\PROFF.SRCi
DEBUG. H
DECL.H
DEFS.H
DQSTUFF2.C
EMACS.TTP!
EVAL.C
LOOK. C
LOOKUP. C
LOOKUP. H
LTB.C
MAKE. SH!
rv^.c
PINIT.C
PROFF.C
PROFF.H
PROFF.PRG!
PROFFOl.C
PR0FF02.C
PROFFMAN. OUT
PROFFMAN. PRF
PROFFSYM. NEW
PUTWRD.C
PXLEX.C
PXXPARSE.C
STACK. C
June 86 DOM M
f ; Ik Hi kL> ■ ■ , -
_ / oiAAn )
XI IS UHk
\ OOvQU / *
At XGOODIESt
CONVFONT.PRS
DIBIT. PRG*
DISKED.DOC
DISKED. TOS!
DVORAK. TOS!
fttC.TOS!
MACPIC. IDS!
MEJTTEST.C
MEHTEST.TOS!
M0N02MED.PR8
NEOCONV.PRS!
POPCORN. PRG!
QWERTY. TOG!
RMD158K. ACC
RMD20QK. ACC
ROMTOS2. STN
RTC12.DOC
RTC12.T0S! -
SEEKTST. TOS !
SUPERCAL.ACC
TINY TOOL. ACC
The Back Fence
by Quinn
Thi» is a nm w column in ths JOURNAL conctrntd with ths ST
snd all ths various eoir>«s-on around it. As ths abovs titls
su^ssts (rathsr broadly) , such of ths contsnt will bs ths
kdiispsrs and- speculation, oi sors-or-lsss knowlsdgabls psopls
invol vsd' with ths STf ths cosputsr itsslf, softwars, psriphsrals,
politics and whatnot. A lot oi whatnot.
There are two pneary criteria for the
column: it must be informative, and it must
be fun. If there cones a conflict between
the two, fun will win.
There are soie ground rules I will
follow. I will not lie. I will not
misrepresent . I will not indulse in petty,
malicious, maleficent misinformation (even
for fun).
This will be a place for good, honest
gossip without all of the tedious
confirmation, second-source attribution and
qualification that gets in the way of
reporting the neat stuff. Like E said,
fun.
If you get wind of something, let me
know about it. Sources will be held in
confidence unless you tell me otherwise.
Bet in touch with me by leaving private mail
(for Quinn) on The Village BBS
(415-783-5545) or sending hard mail to me
care of The JOURNAL. Now on with it,
. The big items drawing a respectable
amount of speculation these days are the
in-process upscale model of the ST and the
MS-DOS expansion box. Word of the latter
(the MS-DOS box) is shifty. There was some
loose talk (even from out of The-
Mouse-That-Jack-Bui It, AKA Atari) that the
box would have expansion slots to accept
standard PC Boards as well as the 8086 CPU
and 8087 math coprocessor and a 5 1/4 inch
drive. Now word is that there will be no
expansion slots, and no drive and perhaps no
provision for adding a drive from the
coprocessor board. Not only, does that
severely limit the usefulness of the box,
but it also uses up the DMA port which is
also needed for a hard disk. Maybe we can
lobby for at least one expansion slot that
would take a card with a couple of extra DMA
ports. How 'bout it Atari?
^Regarding the new high-end 32 bit
machine (the one that got some marly ink in
Byte Magazine last spring) speculation is
now more speculative and so more grandiose.
Talk is of either a 68020 (16 bit) or 32032
<32 bit) CPU chip with most votes going for
the 68020. What areally* gets fun is the
talk about two (count 'em, two) 20 Megabyte
harddrives built in, the better to support a
full UNIX* (trade mark of AT&T Bell Labs)
System V implement at ion. That, a Meg or two
of memory with expansion capability, a 1024
x 1024 pixel monitor and all for under (that
is *under*> $2,000. If Jack can pull that
off, 1 invite him over to walk across my
swimming pool !
More realistically, we might be able to
expect a similar box with one drive for
under $3,000 by about the middle of next
ypar. That's still a reasonably high-powered
UNIX* (see above) workstation at a
remarkable price. Hope they can make it.
I think that's about it for this time.
The above material is not necessarily the
opinion of the SLCC JOURNAL, SLCC, or wy
other organization or person men tier i
herein. (May not wen be my opinion, j
knows?) Drop me a line on the Village with
idiat you know or shat you want to know. And
Til see you at the ST-SIB.